최대 1 분 소요

Callback 함수란?

콜백 함수를 간단하게 말하자면 함수 안에서 실행하는 또 다른 함수이다. 또 다른 함수를 만들 때 인풋(parameters)을 함수로 받아서 사용할 수 있는데, 이 때 인자로 사용되는 함수를 말한다. 즉, 파라미터로 변수가 아닌 함수를 전달하는 것을 말하며, 또한 함수 이름 없이 익명으로도 전달 가능한 함수를 말한다.

function multiple(num1, num2, callback) {
  const result = num1 * num2;

  callback(result);
}

multiple(3, 4, function (num) {
  console.log(num);
});
// 12

multiple 함수를 실행할 때, 첫번째와 두번째 인풋으로는 ‘3’과 ‘4’을 넣어주고, 마지막 인풋에는 새로운 함수를 지정하였다. 여기서 지정되는 함수가 multiple 함수 안에서 callback(result)으로 실행되는 함수가 된다.

콜백이 유용한 이유는, 콜백 함수만을 바꿔주면서 하나의 함수를 여러가지로 응용할 수 있기 때문이다.

Callback 함수 사용 원칙

  1. 익명 함수 사용

콜백함수는 이름이 없는 익명 함수를 사용한다. 함수 내부에서 실행되기 때문에 이름을 붙이지 않아도 된다.

  1. 함수의 이름 넘기기

자바스크립트는 null과 undefined 타입을 제외하고 모든 것을 객체로 다룬다. 함수를 변수 or 다른 함수의 변수처럼 사용할 수 있다. 함수를 콜백함수로 사용할 경우, 함수의 이름만 넘겨주면 된다.

  1. 전역변수, 지역변수를 콜백함수의 파라미터로 전달

댓글남기기